;;; 这道题目里面NXN矩阵的各个点上,位于中间的对角线上的点都不能用,
;;; 所以只有最外围的一圈点能够被选择,而一旦选择了最外围的一点,其
;;; 斜对面的点也不能使用.每条变有点(1- i)个,最外围有点(* 4 (1- i))
;;; 个.所以结果是(* 2 (1- i)).1是特例.
;;; lisp的会NZEC,应该是read不能判断输入结束导致的.C++版本使用数组取模拟大数
(loop for i = (read)
      while i 
      do (format t "~A~%" (if (= i 1) 1 (* 2 (1- i)))))
